package com.thesis.utils;

import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;
import cn.hutool.crypto.symmetric.AES;

/**
 * Md5Utils工具类
 * 用于快速获取登录信息
 * @author ding
 */
public class Md5Utils {
    // key：AES模式下，key必须为16位
    private static final String key = "1234567812345678";
    // iv：偏移量，ECB模式不需要，CBC模式下必须为16位
    private static final String iv = "1234567812345678";

    public static final AES aes = new AES(Mode.CBC, Padding.PKCS5Padding, key.getBytes(), iv.getBytes());

    /**
     * 密码加密
     * @param password 密码
     */
    public static String encipher(String password) {
        return aes.encryptBase64(password);
    }

    /**
     * 密码比对
     *
     * @param password    未加密的密码
     * @param md5password 加密过的密码
     */
    public static boolean verifyPassword(String password, String md5password) {
        return password.equals(aes.decryptStr(md5password));
    }
}